#include <bits/stdc++.h>

using namespace std;

const int maxn=15;
double a[maxn][maxn],b[maxn];
int n;

inline void Gauss(){
    for(int i=1;i<=n;i++){
        int tar=i;
        for(int j=i+1;j<=n;j++) if(fabs(a[j][i])>fabs(a[tar][i])) tar=j;
        for(int j=i;j<=n;j++) swap(a[tar][j],a[i][j]); swap(b[tar],b[i]);
        for(int j=i+1;j<=n;j++){
            double rate=a[j][i]/a[i][i];
            for(int k=i;k<=n;k++) a[j][k]-=rate*a[i][k];
            b[j]-=rate*b[i];
        }
    }
    for(int i=n;i>=1;i--){
        for(int j=i+1;j<=n;j++) b[i]-=a[i][j]*b[j],a[i][j]=0;
        b[i]/=a[i][i];a[i][i]=1;
    }
}

double pos[maxn][maxn];

int main(){
    memset(b,0,sizeof b);
    scanf("%d",&n);
    for(int i=0;i<=n;i++) for(int j=1;j<=n;j++) scanf("%lf",&pos[i][j]);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++){
            a[i][j]=2*(pos[i][j]-pos[i-1][j]);
            b[i]+=pos[i][j]*pos[i][j]-pos[i-1][j]*pos[i-1][j];
        }
    Gauss();
    for(int i=1;i<=n;i++) {printf("%.3f",b[i]); if(i!=n) putchar(' ');}
}
